c语言"判断数值为空"的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:39:23
int a[10];
********************
如果不排除 a[0]=0 的情况
怎么判断a[0]是否等于空(NULL)????
*********************
请用c语言语句实现

a[0]=0 是不为空的,他的值是0!就算你没赋值也是不为空的!!!值是一个随机的数而已!!if(a[0] == NULL)更是不可能的。c语言里面只要定义了变量,他就不是空的,更没有空值(NULL)的说法,又不是java

if(a[0] == NULL) ...

一般来说不要这么写,因为NULL一般代表指针的含义,用0代替NULL。

C语言中不存在空值的情况,所谓的NULL是人为(或某些编译器)定义的一个常量,常见的是 #define NULL (0)的情况,而这个0只是赋给一个指针,即让指针初始化为内存的0地址,我们称其为空地址(或指针值为空),但实际上,C语言中所有的变量都是保存到内存中的,其值就是其所在内存单元中保存的一个数,而内存单元中只要上电,就一定会存在数据(随机数,或特定的数据)。我们不能称值为0的变量为空,因为0也是一个数据。

int型a[0]应该不可能为空,如果你不给它赋值,那在用到它时,系统将给它赋随机值